<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
 <head>
  <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  <title>简介</title>
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-base.css" />
<link media="all" rel="stylesheet" type="text/css" href="styles/03e73060321a0a848018724a6c83de7f-theme-medium.css" />

 </head>
 <body class="docs"><div class="navbar navbar-fixed-top">
  <div class="navbar-inner clearfix">
    <ul class="nav" style="width: 100%">
      <li style="float: left;"><a href="book.ffi.html">« FFI</a></li>
      <li style="float: right;"><a href="ffi.setup.html">安装/配置 »</a></li>
    </ul>
  </div>
</div>
<div id="breadcrumbs" class="clearfix">
  <ul class="breadcrumbs-container">
    <li><a href="index.html">PHP Manual</a></li>
    <li><a href="book.ffi.html">FFI</a></li>
    <li>简介</li>
  </ul>
</div>
<div id="layout">
  <div id="layout-content"><div id="intro.ffi" class="preface">
  <h1 class="title">简介</h1>
  <p class="para">
   此扩展允许在纯 PHP 中加载共享库（<var class="filename">.DLL</var> 或 
   <var class="filename">.so</var>）、调用 C 函数、访问 C 
   数据结构，而无需深入了解 Zend 扩展 API，也无需学习第三方“中间”语言。公共 API
   是使用包含几个静态方法（有几个可以动态调用）和对象重载方法（执行与 C 数据的实际交互）的 <span class="classname"><a href="class.ffi.html" class="classname">FFI</a></span> 类实现的。
  </p>
  <div class="caution"><strong class="caution">警告</strong>
   <p class="para">
    FFI 有危险，因为它允许在系统上进行底层交互。FFI 扩展应该仅供有 C 和使用 C API 
    经验的开发者使用。为了最大限度降低风险，<a href="ffi.configuration.html#ini.ffi.enable" class="link">ffi.enable</a> <var class="filename">php.ini</var> 指令会限制 FFI API
    的使用。
   </p>
  </div>
  <blockquote class="note"><p><strong class="note">注意</strong>: 
   <p class="para">
    FFI 扩展不会提供讨厌的过时 PHP 扩展 API，它仅仅是提供了用于 C 函数和数据结构的特殊接口。
   </p>
  </p></blockquote>
  <div class="tip"><strong class="tip">小技巧</strong>
   <p class="para">
    目前，访问 FFI 数据结构比访问原生 PHP 数组和对象慢很多（大约 2 
    倍）。因此使用 FFI 扩展来提高速度没有意义；减少内存消耗可能有意义。
   </p>
  </div>
 </div></div></div></body></html>